FSTAT

            
#include <sys\types.h>
#include <sys\stat.h>

int fstat(handle,buffer);
int handle; handle-р, ссылающийся на открытый файл.
struct  stat  *buffer; указатель на структуру хранения  результатов.

Описание:
Функция fstat получает информацию об открытом файле, связанным с данным handle -ром, и запоминает ее в структуре, на которую указывает buffer . Структура, тип stat которой объявлен в <sys\stat.h> , содержит следующие поля:

           Поле                              Значение
                                 
         st_mode           Битовая маска для информации  о  режиме
                           файла. Бит  S_IFCHR    устанавливается,
                           если  handle  ссылается на  устройство.
                           Бит    S_IFREG   устанавливается,  если
                           handle ссылается на обычный файл.  Биты
                           чтения/записи  пользователей устанавли-
                           ваются  соответственно  режиму  доступа
                           для файла.
            
         st_dev            Либо номер устройства диска, содержащего
                           файл,  либо  handle - в  случае другого
                           устройства.
                           
         st_rdev           Либо номер устройства диска,содержащего
                           файл,  либо  handle - в  случае другого
                           устройства
                           (аналогично st_dev).
                           
         st_nlink          Всегда 1.
                           
         st_size           Размер файла  в байтах.

         st_atime          Время последней модификации файла.
                           
         st_mtime          Время последней модификации файла
                           (аналогично st_atime).
                           
         st_ctime          Время последней модификации файла
                           (аналогично st_atime и st_mtime).

В структуре типа stat существуют три дополнительных поля, которые для MS DOS не имеют смысла.

Возвращаемое значение:
Функция fstat возвращает значение 0, если информация о статусе файла получена. Возвращаемое значение -1 свидетельствует об ошибке; в этом случае errno устанавливается в EBADF , определяя тем самым неверный файловый handle.

Замечание!
Если заданный handle ссылается на устройство, поля размера и времени в структуре stat не имеют смысла.

Пример.

            
               #include <fcntl.h>
               #include <sys\types.h>
               #include <sys\stat.h>
               #include <stdio.h>
            
               struct stat buf;
               int fh, result;
            
               fh=open("tmp/data", O_RDONLY);
               .
               .
               .
               result=fstat(fh,&buf);
            
               if (result==0)
                   printf("file size is %ld\n",buf.st_size);
         
Hosted by uCoz